采用加权线性方法的高动态和低动态范围示例

简短说明

文件: \examples\Processing\HDR_ImageComposition\HighDynamicRange\HDR_linearW_Bayer_3_Base.vad
\examples\Processing\HDR_ImageComposition\HighDynamicRange\HDR_linearW_Color_3_Base.vad
\examples\Processing\HDR_ImageComposition\HighDynamicRange\HDR_linearW_Gray_3_Base.vad
\examples\Processing\HDR_ImageComposition\HighDynamicRange\HDR_linearW_Bayer_3_Full.vad
\examples\Processing\HDR_ImageComposition\HighDynamicRange\HDR_linearW_Color_3_Full.vad

默认平台: mE5-MA-VCL

简要说明

根据 Reinhard 等人以及 Fattal 等人的研究所提出的加权线性 HDR 算法和 LDR 算法。

此高动态范围 (HDR) 和低动态范围 (LDR) VisualApplets (VA) 设计类似于“使用相机响应函数的高动态范围和低动态范围示例”中所述的设计。 区别在于 HDR 算法,这将在随后的子章节中进行描述。 此示例存在多个变体:它们专为基准 (base) 和完整 (full) 配置下的 marathon VCL 板卡而设计, 适用于 RGB 相机、Bayer 模式相机或灰度相机。

采用加权线性方法的的高动态范围成像

曝光 可以写成以下各项的逆函数: 公式 32

公式 42。


如果您可以假设曝光是一个线性函数,则可以使用以下公式构建 HDR 彩色分量:

公式 43。


而不是 公式 34。此处 类似于 Equation 35 一个加权函数,欠曝和过曝的像素值在该函数的加权下权重会降低。 此示例中的 LDR 分量计算方式类似于以下内容中的 LDR 算法: 和 .

VisualApplets 设计

该示例适用于拍摄亮度范围极广且包含极暗和极亮物体的场景。 图像将被传输至 PC,其中场景中的每个物体都能得到正确显示。 该设计的基本结构如图 354 所示(此处以基准配置下的 Bayer 模式相机为例)。 每个图像像素的红、绿、蓝值是在带有 Bayer5x5Linear 算子的 HierarchicalBox Bayer 中计算出来的。 在 ImageSequence 框中,会缓冲一个包含三张图像的序列。这三张图像应具有三个不同的曝光时间,以便进行 HDR-LDR 处理。 选择曝光时间时,应确保每个图像像素在曝光序列的至少一张图像中既没有欠曝也没有过曝。 您可以通过 HierarchicalBox Trigger(见图 348)中的算子 SignalWidth width1 到 width3 来设置这些时间。 请注意,时间刻度是以 8 ns 为单位的系统时钟周期。算子 Generate-Period 的值必须至少大于算子 SignalWidth width1 到 width3 的最长时间。此外,请参阅相机手册中有关算子 Generate-Period 的最小周期长度说明。 这三张图像使用 公式 43 中所述的加权线性 HDR 算法进行组合。该算法在 HierarchicalBox HDR(图 354)中实现。根据 Reinhard 等人 [Rei02] 和 Fattal 等人 [Fat02] 的 LDR 算法在 LDR 中实现。生成的 RGB 图像的颜色在 HierarchicalBox OutputToPC 中进行合并。在设计“HDR_linearW_Gray_3_Base.vad”中不存在此框。 算子 SourceSelector 允许选择传输处理后的 HDR-LDR 图像或(经过 Bayer 去马赛克的)相机图像的 DMA。由于设计结构和计算方法类似于 节中的示例,因此接下来我们将重点解释 HDR 的内容。但请注意,在某些细节上(例如小数位),这些设计可能也会有所不同。 您可以在示例的注释框中找到相应的提示。

基本设计结构

图 354. 基本设计结构


在图 355 中,您可以看到 HierarchicalBox HDR的内容。对于缓冲图像序列的三幅图像,分子 和分母的项 的 公式 43 分别针对图像一到三(HierarchicalBox Image1 更改为 Image3),分别针对红色、绿色和蓝色。对于设计“HDR_linearW_Gray_3_Base.vad”中的灰度图像,计算仅针对灰度分量进行。

HDR 框的内容

图 355. HDR 框的内容


这些加数项的计算如图 356 所示,以 Image1 中的红色为例。绿色和蓝色以及图像 2 和图像 3 的计算方式与此类似。图中的像素值 356 除以曝光时间,该曝光时间可以通过参数的值进行设置 Const_dt1 (或模拟 Const_dt2 和 Const_dt3)。 时间基准可以是秒、毫秒或微秒,可以通过参数 TimeBase 在方框中进行设置 红色, 绿色 和 蓝色 中的框 HDR (见图 355 以及图 357)。的结果 与作为查找表实现的加权函数相乘 LUT_weight。表“WeightsLinear.txt”可以使用 Matlab 程序模块“WeightLinear.m”、“sample.m” (对于灰度图像,或为“sample_gray.m”)以及“HDR_CRC_m” (对于灰度图像,或为“HDR_CRC_Gray.m”) (位于 \examples\Processing\Advanced\HighDynamicRange\ 下)创建。请同时阅读“HDR_CRC.m”(或 用于灰度图像的“HDR_CRC_Gray.m”)中的简短手册以获取进一步说明。 图所示组件的输出 356 随后即为的加数 公式 43: 和 .

Image1 方框中的红色分量

图 356。Image1 方框中的 Red 分量


HDR 方框中的红色分量

图 357。HDR 方框中的 Red 分量


这些加数会在 HierarchicalBoxes Red、Green 和 Blue 中根据 Equation 43 进行求和与除法运算。 例如参见图 357 中的 Red 方框。

亮度 中计算 Luminance、缩放亮度 、 LDR 亮度 以及最终计算 的 LDR 颜色分量 , 和 或 类似于本节中的实现 “使用相机响应函数的 HDR 和低动态范围示例”。如需进一步了解,请参阅本节中的相应 部分 或 VA 设计中的注释框。